<?php

namespace app\admin\controller;

use think\Controller;
use think\Request;
use think\Model\Admin;
/**
 * admin用户管理控制器
 */
class AdminManage extends Controller
{
    /**
     * 显示资源列表
     *
     * @return \think\Response
     */
    public function index()
    {
        $admin=model('Admin');
        $list=$admin->paginate();
        $empty="<tr><td colspan='8'><h4 class='text-center'>当前无更多用户信息</h4></td></tr>";
        $this->assign('empty',$empty);
        $this->assign('list',$list);
        return $this->fetch();
    }

    /**
     * 显示创建资源表单页.
     *
     * @return \think\Response
     */
    public function create()
    {
        return $this->fetch();
    }

    /**
     * 保存新建的资源
     *
     * @param  \think\Request  $request
     * @return \think\Response
     */
    public function save(Request $request)
    {
        $admin=model('Admin');
        //开启事务
        $admin->startTrans();
        $admin->data([
            'userName'  =>  $request    ->  param('userName'),
            'passWord'  =>  $request    ->  param('passWord'),
            'name'      =>  $request    ->  param('name')
        ]);

        if($admin->save()){
            $admin->commit();

            return $this->success('用户添加成功','/admin_manage');
        }else{
            $admin->rollback();
            return $this->error('用户添加失败');
        }

    }

    /**
     * 显示指定的资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function read($id)
    {
        //
    }

    /**
     * 显示编辑资源表单页.
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function edit($id)
    {

        $admin=model('Admin')::get($id);
        $this->assign('data',$admin);

        return $this->fetch();

    }

    /**
     * 保存更新的资源
     *
     * @param  \think\Request  $request
     * @param  int  $id
     * @return \think\Response
     */
    public function update(Request $request, $id)
    {
        $admin=model('Admin');
        //开启事务
        $admin->startTrans();
        $res=$admin->save([
            'passWord'  =>  $request    ->  param('passWord'),
            'name'      =>  $request    ->  param('name')
        ],['id'=>$id]);
        if($res){
            $admin->commit();

            return $this->success('更新成功','/admin_manage');
        }else{
            $admin->rollback();
            return $this->error('用户更新失败');
        }
    }

    /**
     * 删除指定资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function delete($id)
    {
        $admin=model('Admin')::get($id);
        $admin->startTrans();
        if($admin->delete()){
            $admin->commit();
            return 1;
        }else{
            $admin->rollback();
            return 0;
        }
    }

    /**
     * Validform ajax验证用户是否存在方法
     * @param $param    请求参数
     * @param $name     input控件名
     * @return string|\think\response\Json
     */
    public function postAjaxCkAdmin(){
        $admin=model('Admin');
        $res=$admin->get(['userName'=>$_POST['param']]);
        if($res){
            return json(['status'=>'n','info'=>'用户名已存在']);
        }else{
            return json(['status'=>'y','info'=>'用户名可以使用']);
        }


    }
    public function getBatDel(){

        $ids= $_GET['ids'];

        $admin=model('Admin');
        $admin->startTrans();
        $res=$admin::destroy($ids);

        if($res){
            $admin->commit();

            return $this->success('删除成功','/admin_manage');
        }else{
            $admin->rollback();
            return $this->error('删除失败');
        }



    }
}
